<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 
        var arr = [4,2,1,6,33,3] ;

        // 第一轮:  找到最小值，与第一个进行交换   
        // var min = 0 ;   // 假设第一个位置上的值最小   min代表的是下标

        // for(var i = 1 ; i < arr.length ; i++) {
        //     if(arr[min] > arr[i]) {
        //         min = i ;   // 保留下标
        //     }
        // }

        // console.log(min);
        // // 与第一个位置进行交换
        // var temp = arr[0] ;
        // arr[0] = arr[min] ;
        // arr[min] = temp ;

        // console.log(arr);   
        // // 1 2 4 6 33 3

        // // 第二轮:  找到第二小值，与第二个进行交换   
        // var min = 1 ;   // 假设第二个位置上的值最小
        // for(var i = 2 ; i < arr.length ; i++) {
        //     if(arr[min] > arr[i]) {
        //         min = i ;
        //     }
        // }

        // // min和我们假设的值是一样的， 不需要交换
        // // 1 2 4 6 33 3


        // // 第三轮  找第三小的值,与第三个位置交换
        // var min = 2 ;
        // for(var i = 3 ; i < arr.length ; i++) {
        //     if(arr[min] > arr[i]) {
        //         min = i ;
        //     }
        // }
        // var temp = arr[2] ;
        // arr[2] = arr[min] ;
        // arr[min] = temp ;

        // console.log(arr);
        // // 1 2 3 6 33 4


        // // 第四轮  
        // var min = 3 ;
        // for(var i = 4 ; i < arr.length ; i++) {
        //     if(arr[min] > arr[i]) {
        //         min = i ;
        //     }
        // }
        // var temp = arr[3] ;
        // arr[3] = arr[min] ;
        // arr[min] = temp ;

        // console.log(arr);
        // // 1 2 3 4 33 6


        // // 第五轮
        // var min = 4 ;
        // for(var i = 5 ; i < arr.length ; i++) {
        //     if(arr[min] > arr[i]) {
        //         min = i ;
        //     }
        // }
        // var temp = arr[4] ;
        // arr[4] = arr[min] ;
        // arr[min] = temp ;

        // console.log(arr);
    

        // 外层循环控制比较的轮数
        for(var j = 0 ; j < arr.length - 1 ; j++) {
            // 去寻找最小值
            var min = j ;
            // 与后面的值进行比较
            for(var i = j + 1 ; i < arr.length ; i++) {
                // 找到更小的值的下标
                if(arr[min] > arr[i]) {
                    min = i ;
                }
            }
            // 确认最小值
            // 与假设不成立的时候就交换
            if(min !== j) {
                var temp = arr[min] ;
                arr[min] = arr[j] ;
                arr[j] = temp ;
            }
        }

        console.log(arr);



        // 选择排序比冒泡排序   交换次数要少
       

    </script>
    
</body>
</html>